Ext.ns("Mcflies", "Mcflies.Office", "Mcflies.Util", "Mcflies.Office.Department");
Mcflies.Office.MainPanel = Ext.extend(Ext.TabPanel,{
	initComponent : function(){//通过initComponent初始化MainPanel组件
		Mcflies.Office.MainPanel.superclass.initComponent.call(this);
		this._cache = {};
	},
	addPanel : function(name,panel){
		if(!this._cache) this._cache = {};//手动注册的集合
		this._cache[name] = panel;
	},
	findPanel : function(name){
		var ret = this._cache[name];//从手动注册的集合中查找
		if(!ret){//采用指定的ns命名空间来构建,如果命名空间没有指定,则采用默认的命名空间
			var pn = (this.ns ? this.ns : 'Mcflies.Office') + "." 
					 + Ext.util.Format.capitalize(name) + 'Panel';
					 alert(pn);
			var ret = eval(pn);//通过字符串找到该类
		}
		return ret;
	},
	loadTab : function(node){
		var n = this.getComponent(node.id);//根据node.id找到TabPanel的子组件
		//把node的属性组成一个参数对象
		var c = {'id' : node.id , 'title' : node.text ,closable : true};
		if(n){
			this.setActiveTab(n);//如果存在,则激活他
		}else{//如果不存在,则新建
			var pn = this.findPanel(node.id);//找到对应类
			n = this.add(pn ? new pn(c) : Ext.apply(c,{html : '该功能正在开发中...日后更精彩!'}));
			n.show().doLayout();
		}
	}
});